package com.aatattoo.light_food_service.mapper;

import com.aatattoo.light_food_service.entity.User;
import org.apache.ibatis.annotations.Mapper;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Mapper
@Repository
public interface UserMapper {
    /**
     * 增加用户
     * @param user
     * @return
     */
    int addUser(User user);

    /**
     * 通过手机号查找用户
     * @param phoneNumber
     * @return
     */
    User findByPhone(String phoneNumber);

    /**
     * 通过用户id查找用户
     * @param id
     * @return
     */
    User findById(@Param("id") int id);

    /**
     * 检查是否存在当前用户
     *
     * @param phoneNumber
     * @return
     */
    int isTableExist(String phoneNumber);

    /**
     * 通过手机号修改用户头像
     * @param user
     * @return
     */
    int updataAvatarByPhone(User user);

    /**
     * 通过用户id修改用户头像
     * @param user
     * @return
     */
    int updataAvatarById(User user);

    /**
     * 更新密码（手机号）
     * @param user
     * @return
     */
    int updataPwdByPhone(User user);

    /**
     * 更新密码（用户ID）
     * @param user
     * @return
     */
    int updataPwdById(User user);

    /**
     * 更新性别（用户ID）
     * @param user
     * @return
     */
    int updataGenderById(User user);

    /**
     * 更新姓名（用户ID）
     * @param user
     * @return
     */
    int updataNameById(User user);

    /**
     * 更新密保问题，答案（用户ID）
     * @param user
     * @return
     */
    int updataQuestionById(User user);

    /**
     * 通过名称模糊查询用户
     * @param name
     * @return
     */
    List<User> fuzzyQuery(@Param("name") String name);


}
